#include "../include/pch.h"
#include "../include/public.h"
#include "../include/connection.h"
#include <iostream>
using namespace std;

connection::connection(){
    // 初始化数据库链接
    _conn = mysql_init(nullptr);
}
connection::~connection(){
    // 释放数据库链接资源
    if (_conn != nullptr)
    {
        mysql_close(_conn);
    }
    
}
// 数据库链接函数
bool connection::connect(string ip, unsigned short port, string username, string password , string dbname)
{
    MYSQL *p  = mysql_real_connect(_conn,ip.c_str(),username.c_str(),password.c_str(),dbname.c_str(),port,nullptr,0);
    return p != nullptr;
}
// 更新操作  select delete 
bool connection::update(string sql)
{
    if (mysql_query(_conn,sql.c_str()))
    {
        LOG("更新失败：" + sql);
        return false;
    }
    return true;
}

MYSQL_RES* connection::query(string sql)
{
    if (mysql_query(_conn,sql.c_str()))
    {
        LOG("查询失败：" + sql);
        return nullptr;
    }
    return mysql_use_result(_conn);
}